import request from "@/utils/request";

/**
 * 防汛文件发布API接口
 */

/**
 * 获取防汛文件发布列表
 * @param {Object} params 查询参数
 * @param {number} params.pageNum 页码
 * @param {number} params.pageSize 页大小
 * @param {string} params.sourceUnit 文件来源单位
 * @param {string} params.receiveUnit 接收单位
 * @param {string} params.releaseDate 发布时间
 * @param {string} params.releaseTitle 发布主题
 * @returns {Promise} 响应数据
 */
export function getPreventionList(params) {
  return request({
    url: "/safe/preventionList",
    method: "GET",
    params
  });
}

/**
 * 新增防汛文件发布
 * @param {Object} data 防汛文件数据
 * @param {string} data.sourceUnit 来源单位
 * @param {string} data.receiveUnit 接收单位 (1:各区房屋管理中心; 2:各管理部门; 3:各防汛责任单位; 4:各街道办事处)
 * @param {string} data.releaseDate 发布日期
 * @param {string} data.releaseTitle 发布主题
 * @param {string} data.jobRequirements 工作要求
 * @param {number} data.isRecycle 是否回收附件 (0:否; 1:是)
 * @param {number} data.isCompatibleAttachments 兼容报送附件 (0:否; 1:是)
 * @param {Array} data.sonDTOS 附件列表
 * @param {string} data.sonDTOS[].name 附件名称
 * @param {string} data.sonDTOS[].url 文件链接
 * @param {string} data.sonDTOS[].fileType 文件类型
 * @param {number} data.sonDTOS[].isCompatibleAttachments 是否报送附件 (0:否; 1:是)
 * @param {number} data.status 发布状态 (0:未发布; 1:已发布)
 * @returns {Promise} 响应数据 {code: number, data: object, message: string}
 */
export function addPrevention(data) {
  return request({
    url: "/safe/addPrevention",
    method: "POST",
    data
  });
}

/**
 * 取消发布防汛文件
 * @param {number} id 防汛文件ID
 * @returns {Promise} 响应数据 {code: number, data: object, message: string}
 */
export function cancelPreventionRelease(id) {
  return request({
    url: "/safe/preventionRelease",
    method: "GET",
    params: { id }
  });
}

/**
 * 删除防汛文件
 * @param {number} id 防汛文件ID
 * @returns {Promise} 响应数据 {code: number, data: object, message: string}
 */
export function deletePrevention(id) {
  return request({
    url: "/safe/delPrevention",
    method: "GET",
    params: { id }
  });
}

/**
 * 修改防汛文件
 * @param {Object} data 防汛文件数据
 * @param {number} data.id ID
 * @param {string} data.sourceUnit 来源单位
 * @param {string} data.receivingUnit 接收单位
 * @param {string} data.releaseDate 发布日期
 * @param {string} data.releaseTitle 发布主题
 * @param {string} data.jobRequirements 工作要求
 * @param {number} data.isRecycle 是否回收附件 (0:否; 1:是)
 * @param {number} data.isCompatibleAttachments 兼容报送附件 (0:否; 1:是)
 * @param {Array} data.sonDTOS 附件列表
 * @param {number} data.status 发布状态 (0:未发布; 1:已发布)
 * @returns {Promise} 响应数据 {code: number, data: object, message: string}
 */
export function updatePrevention(data) {
  return request({
    url: "/safe/updPrevention",
    method: "POST",
    data
  });
}

/**
 * 获取防汛文件详情
 * @param {number} id 防汛文件ID
 * @returns {Promise} 响应数据 {code: number, data: object, message: string}
 */
export function getPreventionDetails(id) {
  return request({
    url: "/safe/preventionDetails",
    method: "GET",
    params: { id }
  });
}